const https = require('https');

/**
 * 检查API状态的函数
 */
function checkApiStatus() {
    console.log('正在检查API状态...');
    
    const options = {
        hostname: 'tqi.techlinkpets3d.com',
        port: 443,
        path: '/api/daka/person_rank',
        method: 'GET',
        headers: {
            'Content-Type': 'application/json',
            'Accept': 'application/json'
        }
    };

    const req = https.request(options, (res) => {
        console.log('=== 排行榜 API 状态 ===');
        console.log('状态码:', res.statusCode);
        console.log('响应头部:', res.headers['content-type']);
        
        let data = '';
        
        res.on('data', (chunk) => {
            data += chunk;
        });
        
        res.on('end', () => {
            console.log('响应长度:', data.length);
            
            // 检查是否为 HTML
            if (data.trim().startsWith('<') || data.includes('<html') || data.includes('<!DOCTYPE')) {
                console.log('❌ 响应是HTML，不是JSON');
                console.log('前100字符:', data.substring(0, 100));
            } 
            // 尝试解析 JSON
            else if (res.statusCode === 200) {
                try {
                    const jsonData = JSON.parse(data);
                    console.log('✅ JSON解析成功');
                    console.log('数据结构:', Object.keys(jsonData));
                    if (jsonData.code !== undefined) {
                        console.log('返回码:', jsonData.code);
                    }
                } catch (error) {
                    console.log('❌ JSON解析失败:', error.message);
                }
            } else {
                console.log('⚠️  HTTP状态码不是200');
            }
            
            // 检查进度API
            checkProgressApi();
        });
    });

    req.on('error', (error) => {
        console.error('排行榜API请求错误:', error.message);
        // 检查进度API
        checkProgressApi();
    });

    req.end();
}

/**
 * 检查进度API状态的函数
 */
function checkProgressApi() {
    console.log('\n=== 进度 API 状态 ===');
    
    const options = {
        hostname: 'tqi.techlinkpets3d.com',
        port: 443,
        path: '/api/daka/index',
        method: 'GET',
        headers: {
            'Content-Type': 'application/json',
            'Accept': 'application/json'
        }
    };

    const req = https.request(options, (res) => {
        console.log('状态码:', res.statusCode);
        console.log('响应头部:', res.headers['content-type']);
        
        let data = '';
        
        res.on('data', (chunk) => {
            data += chunk;
        });
        
        res.on('end', () => {
            console.log('响应长度:', data.length);
            
            // 检查是否为 HTML
            if (data.trim().startsWith('<') || data.includes('<html') || data.includes('<!DOCTYPE')) {
                console.log('❌ 响应是HTML，不是JSON');
                console.log('前100字符:', data.substring(0, 100));
            } 
            // 尝试解析 JSON
            else if (res.statusCode === 200) {
                try {
                    const jsonData = JSON.parse(data);
                    console.log('✅ JSON解析成功');
                    console.log('数据结构:', Object.keys(jsonData));
                    if (jsonData.code !== undefined) {
                        console.log('返回码:', jsonData.code);
                    }
                } catch (error) {
                    console.log('❌ JSON解析失败:', error.message);
                }
            } else {
                console.log('⚠️  HTTP状态码不是200');
            }
            
            console.log('\n=== 检查完成 ===');
        });
    });

    req.on('error', (error) => {
        console.error('进度API请求错误:', error.message);
        console.log('\n=== 检查完成 ===');
    });

    req.end();
}

// 执行检查
checkApiStatus();